import { run_test } from '../test-harness';

run_test([
  'printlatex(pi/2)',
  '\\frac{\\pi}{2}',

  'printlatex(-pi/2)',
  '-\\frac{\\pi}{2}',

  'printlatex(pi/(-2))',
  '-\\frac{\\pi}{2}',

  'printlatex(-pi/(-2))',
  '\\frac{\\pi}{2}',

  'printlatex((1/2)*pi)',
  '\\frac{\\pi}{2}',

  'printlatex((1/(-2))*pi)',
  '-\\frac{\\pi}{2}',

  // note that these two are different:
  //    pi^(1/2) != pi^1/2
  'printlatex(pi^(1/2))',
  '\\sqrt{\\pi}',

  'printlatex(1/x+x^3+1+1)',
  '2+\\frac{1}{x}+x^3',

  'lastlatexprint == "2+\\frac{1}{x}+x^3"',
  '1',

  'printlatex(quote(1/x+1+1))',
  '\\frac{1}{x}+1+1',

  'printlatex(quote(defint(a,y,-sqrt(1-x^2),sqrt(1-x^2))))',
  '\\int^{\\sqrt{1-x^2} }_{-\\sqrt{1-x^2} } \\! a \\, \\mathrm{d} y',

  'printlatex(1/(x+1))',
  '\\frac{1}{1+x}',

  'printlatex(1/(x+1)^2)',
  '\\frac{1}{(1+x)^2}',

  'printlatex(quote(1/(2*a*(x+1))))',
  '\\frac{1}{2a(x+1)}',

  'printlatex(j^k^l^m)',
  'j^{k^{l^m}}',

  'printlatex(dot(a,b))',
  'a \\cdot b',

  'printlatex(inner(a,b))',
  'a \\cdot b',

  'printlatex(inv(a))',
  '{a}^{-1}',

  'printlatex(inv(a+1))',
  '{(1+a)}^{-1}',

  'printlatex(12x^11)',
  '12x^{11}',

  // tricky when there are two consecutive
  // numbers, can't just leave a space there.
  'printlatex(5^2 * 3^y)',
  '25 \\cdot 3^y',

  'printlatex(5^2 * 3^(1/2))',
  '25\\sqrt{3}',

  'printlatex(5^2 * 3^(2/3))',
  '25\\sqrt[3]{3^2}',

  'printlatex([[0,1],[1,0]])',
  '\\begin{bmatrix} 0 & 1 \\\\ 1 & 0 \\end{bmatrix}',

  'printlatex([0,1])',
  '\\begin{bmatrix} 0 & 1 \\end{bmatrix}',

  'printlatex([[0,1,2],[3,4,5]])',
  '\\begin{bmatrix} 0 & 1 & 2 \\\\ 3 & 4 & 5 \\end{bmatrix}',

  'printlatex([[a]])',
  '\\begin{bmatrix} a \\end{bmatrix}',

  'printlatex([[0],[1]])',
  '\\begin{bmatrix} 0 \\\\ 1 \\end{bmatrix}',

  'printlatex(quote(sum((-1)^k * (1/(2*k + 1)),k,0,100)*4))',
  '\\sum_{k=0}^{100}{\\frac{(-1)^k}{(2k+1)}}4',

  'printlatex(quote(2*product(4*k^2/(4*k^2-1),k,1,100)))',
  '2\\prod_{k=1}^{100}{\\frac{4k^2}{(4k^2-1)}}',

  'printlatex(quote(a==b))',
  '{a} = {b}',

  'printlatex(quote(a<b))',
  '{a} < {b}',

  'printlatex(quote(a<=b))',
  '{a} \\leq {b}',

  'printlatex(quote(a>b))',
  '{a} > {b}',

  'printlatex(quote(a>=b))',
  '{a} \\geq {b}',

  'printlatex(quote(f(x)=test(x<3,-x-4,3<=x,x*x+7,120/x+5)))',
  'f(x)=\\left\\{ \\begin{array}{ll}{-x-4} & if & {x} < {3} \\\\\\\\{xx+7} & if & {3} \\leq {x} \\\\\\\\{\\frac{120}{x}+5} & otherwise  \\end{array} \\right.',
]);
